/**
 * 微任务 /  宏任务
 * 主进程先执行 - 微任务 - 异步宏任务
 * 执行队列 先进先出
 */
 console.log(1);


 setTimeout(function() {
  console.log(8);
}, 10)

 // 入异步执行队列
 setTimeout(() => {
   console.log(2);
   Promise.resolve().then(() => {
     console.log(3)
   });
 }, 0);
 
 new Promise((resolve, reject) => {
   console.log(4)
   resolve(5)
   console.log(10)
 }).then((data) => {
   // 入异步执行队列
   console.log(data);
 })
 
 // 入异步执行队列
 setTimeout(() => {
   console.log(6);
 }, 0)
 
 console.log(7);